/**角色数据管理 */
import { defineStore } from "pinia"
import {
    getRoleList,
    addRoleList,
    editRoleList,
    delRoleList
} from "../api/rolesApi"
import { ElMessage } from "element-plus";

// 声明store
const useRoleStore = defineStore("roles", {
    state: () => {
        return {
            rolesList: []
        }
    },
    getters: {

    },
    actions: {
        GET_ROLELIST(list) {
            this.rolesList = list
        },
        // 获取角色数据
        getRoleListActions() {
            getRoleList().then((res) => {
                console.log('角色列表', res)
                if (res.code === 200) {
                    this.GET_ROLELIST(res.list)
                }
            })
        },
        // 新增
        addRoleListActions(roleForm) {
            addRoleList(roleForm).then((res) => {
                if (res.code === 200) {
                    // 重新获取数据
                    this.getRoleListActions();
                    ElMessage({
                        type: "success",
                        message: "新增角色成功",
                    });
                } else {
                    ElMessage({
                        type: "error",
                        message: res.msg,
                    });
                }
            });
        },
        // 编辑
        editRoleListActions(roleForm) {
            // 调用api函数
            editRoleList(roleForm).then((res) => {
                // console.log('编辑角色的结果---------------------', res)
                if (res.code === 200) {
                    ElMessage({
                        type: "success",
                        message: "角色更新成功了！"
                    })
                    // 重新获取数据
                    this.getRoleListActions();
                } else {
                    ElMessage({
                        type: "error",
                        message: res.msg
                    })
                }
            });
        },
        // 删除
        delRoleListActions(id) {
            delRoleList(id).then((res) => {
                if (res.code === 200) {
                    // 重新获取数据
                    this.getRoleListActions();
                    ElMessage({
                        type: "success",
                        message: "删除角色成功",
                    });
                } else {
                    ElMessage({
                        type: "error",
                        message: res.msg,
                    });
                }
            });
        },
    }
})
// 导出
export default useRoleStore